package com.oa.service;

import com.oa.back.ResponseBack;
import com.oa.common.base.Page;
import com.oa.common.base.Pageable;
import com.oa.entities.Role;

public interface RoleService extends UndeleteService<Long,Role> {

    /**
     * 根据关键字分页查询权限
     *
     * @param pageable
     * 分页组件
     *
     * @param key
     * 关键字
     *
     * @return
     */
    Page<Role> findPage(Pageable pageable,String key);

    /**
     * 根据权限的名称校验权限是否存在
     *
     * @param name
     * 权限的名称
     *
     * @return
     */
    Boolean validate(String name,Long id);

    /**
     * 提交权限的接口
     *
     * @param params
     * 参数
     *
     * @see com.oa.common.dto.RoleDto
     * @return
     */
    ResponseBack<String> submit(String params);

    /**
     * 更新权限的接口
     *
     * @param params
     * 参数
     *
     * @see com.oa.common.dto.RoleDto
     * @return
     */
    ResponseBack<String> update(String params);

    ResponseBack<String> disableRole(Long id);
}
